<?php
class TemasController extends AppController {

	var $name = 'Temas';
	var $helpers = array('Html', 'Form');

	function beforeFilter() {
		parent::beforeFilter(); 
		$this->Auth->allowedActions = array('index');
	}
/*Accedida por todos*/
/*Lista todos los temas del foro. El usuario puede elegir un tema y se pasa al topicos_controller a la funcion index($id_tema)*/	
	function index() {
		$this->Tema->recursive = 0;
		//$justtemascount = $this->Tema->Topico->find('list','count');
		//$topicos = $this->Tema->Topico->find('count');
		$this->set('grupo_id', $this->Auth->user('grupo_id'));
		$this->set('temas', $this->paginate());
		//$this->set('cantTopicos',$this->Tema->cantTopicosTodosTemas(););
		
	}
	
/*No se usa*/	
/*Lista los topicos del tema con id*/
/*	function view($id = null) {
		if (!$id) {
			$this->Session->setFlash(__('El tema no existe.', true));
			$this->redirect(array('action'=>'index'));
		}
		$this->set('usuario',$this->Tema->listaTopicosdelTema($id));
		//print_r($this->Tema->read(null, $id));
		$this->set('tema', $this->Tema->read(null, $id));
		//$allTopicos = $this->Tema->Topico->find('all');
		//$this->set('allTopicos', $allTopicos);
		//print_r($this->Tema->Topico->find('all'));
	}*/
	
/*A partir de premium puede agregar temas*/		
	function add() {
	/*Esta funcion es necesaria!! Sino no se verifica si el usuario esta logueado*/
		if(!$this->Auth->user()){
			$this->Session->setFlash(__('Para agregar temas es necesario loguearse', true));
			$this->redirect(array('action'=>'index'));
		}
		if($this->Auth->user('grupo_id') > 2){ //Si el usuario premium o administrador
			$this->Session->setFlash(__('Solo un usuario Premium o Administrador puede crear nuevos temas', true));
			$this->redirect(array('action'=>'index'));
		}
		if (!empty($this->data)) {
			$this->data['Tema']['user_id']=$this->Auth->user('user');
			$this->data['Tema']['fecha']=array('day'=> date('d'),'month'=> date('m'), 'year' => date('Y'));
			$this->Tema->create();
			if ($this->Tema->save($this->data)) {
				$this->Session->setFlash(__('El tema ha sido guardado', true));
				$this->redirect(array('action'=>'index'));
			} else {
				$this->Session->setFlash(__('El tema no pudo guardarse, por favor intente de vuelta', true));
			}
		}
		$users = $this->Tema->User->find('list');
		$this->set(compact('users'));
		
	}

	
/*Esta accion tendra restringido acceso para el administrador mediante acl*/
	function edit($id = null) {
		if (!$id && empty($this->data)) {
			$this->Session->setFlash(__('El tema no existe.', true));
			$this->redirect(array('action'=>'index'));
		}
		if (!empty($this->data)) {
			if ($this->Tema->save($this->data)) {
				$this->Session->setFlash(__('El tema ha sido guardado', true));
				$this->redirect(array('action'=>'index'));
			} else {
				$this->Session->setFlash(__('El tema no pudo guardarse, por favor intente de vuelta', true));
			}
		}
		if (empty($this->data)) {
			$this->data = $this->Tema->read(null, $id);
		}
		$users = $this->Tema->User->find('list');
		$this->set(compact('users'));
	}
/*Esta accion tendra restringido acceso para el administrador mediante acl*/
	function delete($id = null) {
		if (!$id) {
			$this->Session->setFlash(__('Id invalido para este Tema', true));
			$this->redirect(array('action'=>'index'));
		}
		if ($this->Tema->del($id)) {
			$this->Session->setFlash(__('Tema Borrado', true));
			$this->redirect(array('action'=>'index'));
		}
	}

}
?>